package com.yvon.maple.cloud.api.msg.vo;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.io.Serializable;
import java.util.List;
import java.util.Set;

/**
 * 消息
 *
 * @author : Yvon
 * @since : 2021-08-26
 */
@Builder
@NoArgsConstructor
@AllArgsConstructor
@Data
@ApiModel("消息参数")
public class Msg implements Serializable {

    /**
     * 类型标识
     */
    @ApiModelProperty(value = "类型标识")
    private String typeCode;

    /**
     * 标题
     */
    @ApiModelProperty(value = "标题")
    private String title;

    /**
     * 内容
     */
    @ApiModelProperty(value = "内容")
    private String content;

    /**
     * Variables
     */
    @ApiModelProperty(value = "参数")
    private List<String> variables;

    /**
     * 消费者
     */
    @ApiModelProperty(value = "消费者")
    private Set<String> consumers;

    /**
     * 额外信息
     */
    @ApiModelProperty(value = "额外信息")
    private String extras;
}